package tree;

public class Sorcskills {
	
	public static Skill firearrow() {
		 String name = "Flame Arrow";
		 String des ="Shoots a flame arrow at a target up to 15m away, dealing Fire damage equal to 111% of<br>" +
				"Magic Attack, plus an additional 20% of Magic Attack every 2 seconds for 4 seconds.<br>" +
				"If it hits, adds 1 stack of Fire Magic to yourself, increasing Magic Attack by 4% per<br>" +
				"stack for 15 seconds.";
		 int[] dmg = new int[]{140,150,160};
		 int[] cool = new int[]{1,1,1};
		 int[] ep = new int[]{20,25,32};
		 int max = 3;
		 int[] points = new int[]{0,5,10};
		 String cast = "1 secs";
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, null, max, points, cast);
	
		return acro;
	}
	
	public static Skill rapid() {
		 String name = "Rapid Blasts";
		 String des ="Causes two small flame explosions at close range, dealing Fire damage equal to 111% of<br>" +
					"Magic Attack with each hit to all enemies in range. Adds 1 stack of Fire Magic when used.<br>" +
					"Allows Flame Impact to be chained for 2 seconds. Causes enemies hit to briefly flinch.";
		 int[] dmg = new int[]{80,90,100};
		 int[] cool = new int[]{16,13,10};
		 int[] ep = new int[]{20,28,42};
		 String eff = "Blockable by shield only";
		 String[] effects = new String[]{eff,eff,eff};
		 int max = 3;
		 int[] points = new int[]{0,5,10};
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, effects, max, points);
	
		return acro;
	}
	
	public static Skill icearrow() {
		 String name = "Ice Arrow";
		 String des ="Shoots an icy arrow at a target up to 15m away, dealing Ice damage equal to 111% of<br>" +
					"Magic attack. If under the Sub-Zero effect, the enemy receives additional Ice damage<br>" +
					"equal to 195% of Magic Attack. If it hits, adds 1 stack of Ice Magic to yourself, <br>" +
					"increasing casting speed by 4% per stack for 15 seconds.";
		 int[] dmg = new int[]{95,105};
		 int[] cool = new int[]{6,5};
		 int[] ep = new int[]{20,24};
		 int max = 2;
		 int[] points = new int[]{0,5};
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, null, max, points);
	
		return acro;
	}
	
	public static Skill thorns() {
		 String name = "Ice Thorns";
		 String des ="Creates a patch of icy thorns in front of you, dealing Ice damage equal to 111% of<br>" +
					"Magic Attack to all enemies in range. Inflicts Sub-Zero, reducing the targets' speed<br>" +
					"by 222% for 3 seconds or freezing the enemy for 3 seconds if under the Frostbite effect.<br>" +
					"Adds 1 stack of Ice Magic when used.";
		 int[] dmg = new int[]{160,180,200,220,240};
		 int[] sec = new int[]{30,35,40,45,50};
		 int[] cool = new int[]{16,15,14,12,10};
		 int[] ep = new int[]{17,24,33,38,40};
		 int max = 5;
		 int[] points = new int[]{0,5,10,15,20};
	
		 Skill acro = new Skill(name, des, dmg, sec, cool, null, ep, null, max, points);
	
		return acro;
	}
	
	public static Skill analytics() {
		 String name = "Analytics";
		 String des ="Critical hit rate is increased by 111% and chance of receiving a critical hit is<br>" +
					"reduced by 222%.";
		 int[] dmg = new int[]{1,2,3};
		 int[] sec = new int[]{2,4,6};
		 int max = 3;
		 int[] points = new int[]{0,0,0};
	
		 Skill acro = new Skill(name, des, dmg, sec, null, null, null, null, max, points);
	
		return acro;
	}
	
	public static Skill magicmastery() {
		 String name = "Magic Mastery";
		 String des ="Increases the power of Sorcerer-style skills by 111%";
		 int[] dmg = new int[]{2,4,6,8,10};
		 int max = 5;
		 int[] points = new int[]{0,0,0,0,0};
	
		 Skill acro = new Skill(name, des, dmg,  null, null, null, null, max, points);
	
		return acro;
	}
	
	public static Skill impact() {
		 String name = "Flame Impact";
		 String des ="Causes a fiery explosion in front of you, dealing Fire damage equal to 111% of Magic<br>" +
					"Attack to all enemies in range. Can only be used after casting Rapid Blasts. Adds<br>" +
					"1 stack of Fire Magic when used. Allows Pillar of Fire to be chained for 2 seconds.";
		 int[] dmg = new int[]{230,260,290,320,350};
		 int[] cool = new int[]{3,3,3,3,3};
		 int[] ep = new int[]{20,28,42,48,51};
		 String eff = "Knocks Down";
		 String[] effects = new String[]{"","",eff,eff,eff};
		 int max = 5;
		 int[] points = new int[]{5,10,15,20,25};
	
		 Skill acro = new Skill(name, des, dmg,  cool, null, ep, effects, max, points);
	
		return acro;
	}
	
	public static Skill meditation() {
		 String name = "Meditation";
		 String des ="Restores 6% of maximum EP and 111% of maximum HP every 2 seconds for 8 seconds.";
		 int[] dmg = new int[]{0,5};
		 int[] cool = new int[]{120,120};
		 int[] ep = new int[]{0,0};
		 int max = 2;
		 int[] points = new int[]{5,10};
		 String cast = "2 secs";
	
		 Skill acro = new Skill(name, des, dmg,  cool, null, ep, null, max, points, cast);
	
		return acro;
	}
	
	public static Skill fireorb() {
		 String name = "Flame Orb";
		 String des ="Hurls a fireball at a target up to 15m away, dealing Fire damage equal to 111% of Magic<br>" +
					"Attack to all enemies in a 1.5m radius. Knocks enemies down, and if it hits adds<br>" +
					"1 stack of Fire Magic. ";
		 int[] dmg = new int[]{300,360,420};
		 int[] cool = new int[]{14,13,12};
		 int[] ep = new int[]{60,72,84};
		 String eff = "Unblockable";
		 String[] effects = new String[]{eff,eff,eff};
		 int max = 3;
		 int[] points = new int[]{10,15,20};
		 String cast = "3 secs";
	
		 Skill acro = new Skill(name, des, dmg,  cool, null, ep, effects, max, points, cast);
	
		return acro;
	}
	
	public static Skill iceorb() {
		 String name = "Ice Orb";
		 String des ="Throws an orb of ice at a target up to 15m away, dealing Ice damage equal to 111% of<br>" +
					"Magic attack. Inflicts Frostbite, reducing the target's speed by 222% for 3 seconds<br>" +
					"or freezing the enemy for 3 seconds if under the Sub-Zero effect. If it hits, adds 1<br>" +
					"stack of Ice Magic.";
		 int[] dmg = new int[]{150,180,200};
		 int[] sec = new int[]{30,40,50};
		 int[] cool = new int[]{1,1,1};
		 int[] ep = new int[]{24,36,42};
		 int max = 3;
		 int[] points = new int[]{10,15,20};
		 String cast = "1.5 secs";
	
		 Skill acro = new Skill(name, des, dmg, sec, cool, null, ep, null, max, points, cast);
	
		return acro;
	}
	
	public static Skill intricacy() {
		 String name = "Intricacy";
		 String des ="Critical hit rate is increased by 111% and critical hit damage is increased by 222%.";
		 int[] dmg = new int[]{2,4};
		 int[] sec = new int[]{5,10};
		 int max = 2;
		 int[] points = new int[]{10,10};
	
		 Skill acro = new Skill(name, des, dmg, sec, null, null, null, null, max, points);
	
		return acro;
	}
	
	public static Skill firepillar() {
		 String name = "Pillar of Fire";
		 String des ="Creates a pillar of fire 8m in front of you, dealing Fire damage equal to 111% of Magic<br>" +
					"Attack every 1 second for 3 seconds to all enemies in a 1.5m radius. Causes enemies to<br>" +
					"flinch with the initial hit.";
		 int[] dmg = new int[]{130,150,170,190,210};
		 int[] cool = new int[]{26,24,22,18,16};
		 int[] ep = new int[]{40,48,56,64,68};
		 String eff = "Unblockable, Undodgable";
		 String[] effects = new String[]{eff,eff,eff,eff,eff};
		 int max = 5;
		 int[] points = new int[]{15,20,25,30,35};
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, effects, max, points);
	
		return acro;
	}
	
	public static Skill epcrystal() {
		 String name = "Magic Crystal";
		 String des ="Creates a magic crystal in front of you that restores 10% maximum EP every 2 seconds<br>" +
					"for 4 seconds to the ally who consumes it, and increases their movement speed by 30%<br>" +
					"for the duration.";
		 int[] dmg = new int[]{130,150,170,190,210};
		 int[] cool = new int[]{160,130};
		 int[] ep = new int[]{0,0};
		 int max = 2;
		 int[] points = new int[]{15,20};
		 String cast = "2.5 secs";
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, null, max, points, cast);
	
		return acro;
	}
	
	public static Skill coldarmor() {
		 String name = "Cold Armor";
		 String des ="Creates icy armor around you, reducing all damage received by 111% for 5 minutes.<br>" +
					"When an opponent performs a melee attack on you, you gain 1 stack of the Ice Shell<br>" +
					"effect, reducing Physical damage by a further 4% per stack for 3 seconds. Ice Shell can<br>" +
					"be stacked up to 5 times, and being hit will refresh the timer. Ice Armor cannot<br>" +
					"coexist with Flame Armor.";
		 int[] dmg = new int[]{4,8,12};
		 int[] cool = new int[]{2,2,2};
		 int[] ep = new int[]{20,20,20};
		 int max = 3;
		 int[] points = new int[]{15,20,25};
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, null, max, points);
	
		return acro;
	}
	
	public static Skill concentration() {
		 String name = "Flame Concentration";
		 String des ="Upon a successful critical hit, there is a x/x% chance to reduce the cooldowns of<br>" +
					"Pillar of Fire and Flame Tornado by 1 second.";
		 int[] dmg = new int[]{4,8,12};
		 String eff = "Percentage of skill procing unknown but small";
		 String[] effects = new String[]{eff,eff,eff,eff,eff};
		 int max = 2;
		 int[] points = new int[]{15,15};
	
		 Skill acro = new Skill(name, des, dmg, null, null, null, effects, max, points);
	
		return acro;
	}
	
	public static Skill meteor() {
		 String name = "Burning Meteor";
		 String des ="Calls down a burning meteor on a target area up to 8m away, dealing Fire damage equal<br>" +
					"to 111% of Magic Attack to up to 5 enemies in a 3m radius and knocking down enemies hit.<br>" +
					"Leaves a burning crater where it lands, dealing further Fire damage equal to 222% of<br>" +
					"Magic Attack every 1 second for 4 seconds.";
		 int[] dmg = new int[]{470,550,630,710,790};
		 int[] sec = new int[]{29,33,37,41,45};
		 int[] cool = new int[]{80,75,70,65,60};
		 int[] ep = new int[]{60,72,84,96,102};
		 String eff = "Unblockable, Undodgable";
		 String[] effects = new String[]{eff,eff,eff,eff,eff};
		 int max = 5;
		 int[] points = new int[]{20,25,30,35,40};
		 String cast = "0.75 secs";
	
		 Skill acro = new Skill(name, des, dmg, sec, cool, null, ep, effects, max, points, cast);
	
		return acro;
	}
	
	public static Skill firearmor() {
		 String name = "Flame Armor";
		 String des ="Shroud yourself in fiery armor that increases Magic Attack by 111% for 5 minutes. Has<br>" +
					"a 222% chance of dealing Fire damage equal to 100% of Magic Attack to enemies you hit<br>" +
					"with melee attacks. Flame Armor cannot coexist with Ice Armor.";
		 int[] dmg = new int[]{4,8,12};
		 int[] sec = new int[]{20,30,40};
		 int[] cool = new int[]{2,2,2};
		 int[] ep = new int[]{20,20,20};
		 int max = 3;
		 int[] points = new int[]{20,25,30};
	
		 Skill acro = new Skill(name, des, dmg, sec, cool, null, ep, null, max, points);
	
		return acro;
	}
	
	public static Skill coldwave() {
		 String name = "Cold Wave";
		 String des ="Stirs up a cold wind around you for 4 seconds that deals Ice damage equal to 111%<br>" +
					"of Magic Attack to up to 5 enemies within 5m every 1 second. Inflicts Frostbite on<br>" +
					"enemies hit, reducing the targets' speed by 222% for 3 seconds or freezing the enemy<br>" +
					"for 2 seconds if under the Sub-Zero effect.";
		 int[] dmg = new int[]{78,90,102,114,126};
		 int[] sec = new int[]{30,35,40,45,50};
		 int[] cool = new int[]{120,115,110,105,100};
		 int[] ep = new int[]{66,80,93,106,113};
		 String eff = "Unblockable, Undodgable";
		 String[] effects = new String[]{eff,eff,eff,eff,eff};
		 int max = 5;
		 int[] points = new int[]{20,25,30,35,40};
	
		 Skill acro = new Skill(name, des, dmg, sec, cool, null, ep, effects, max, points);
	
		return acro;
	}
	
	public static Skill harmony() {
		 String name = "Elemental Harmony";
		 String des ="Awakening now increases attack speed by 111%, cast speed by 222%, attack by 333%,<br>" +
					"and movement speed by 20%.";
		 int[] dmg = new int[]{15,20};
		 int[] sec = new int[]{125,150};
		 int[] third = new int[]{10,15};
		 int max = 2;
		 int[] points = new int[]{20,20};
	
		 Skill acro = new Skill(name, des, dmg, sec, third, null, null, null, null, max, points);
	
		return acro;
	}
	
	public static Skill crystal() {
		 String name = "Crystallization";
		 String des ="Cover yourself in ice crystals, immobilizing yourself but preventing all damage and<br>" +
					"negative effects for 2 seconds. After 2 seconds the crystals are destroyed, dealing<br>" +
					"Ice damage equal to 234% of Magic Attack to up to 5 surrounding enemies within 4m and<br>" +
					"superfreezing them (damage won't remove the freeze) for 2 seconds. This skill can be<br>" +
					"used while immobilized, and will dispel any movement impairing debuffs. Can be<br>" +
					"cancelled by using Flame Tornado.";
		 int[] dmg = new int[]{15,20};
		 int[] cool = new int[]{40};
		 int[] ep = new int[]{20};
		 String eff = "Unblockable, Undodgable";
		 String[] effects = new String[]{eff};
		 int max = 1;
		 int[] points = new int[]{25};
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, effects, max, points);
	
		return acro;
	}
	
	public static Skill wisdom() {
		 String name = "Wisdom";
		 String des ="Increases Magic Critical rate of party members within 25m by 111% for 30 minutes.";
		 int[] dmg = new int[]{3,4,5};
		 int[] cool = new int[]{2,2,2};
		 int[] ep = new int[]{120,144,168};
		 int max = 3;
		 int[] points = new int[]{25,30,35};
	
		 Skill acro = new Skill(name, des, dmg, cool, null, ep, null, max, points);
	
		return acro;
	}
	
	public static Skill tornado() {
		 String name = "Flame Tornado";
		 String des ="Deals Fire damage equal to 111% of Magic Attack to all surrounding enemies within 5m,<br>" +
					"and causes the player to enter a Dodge state for 0.5 seconds. Increases speed by 222%<br>" +
					"for 2 seconds, and deals further Fire damage equal to 111% of Magic Attack on up to 5<br>" +
					"surrounding enemies within 5m at the end of the speed buff. This skill can be used<br>" +
					"while frozen, and will dispel any movement impairing debuffs.";
		 int[] dmg = new int[]{195,225,255};
		 int[] sec = new int[]{30,35,40};
		 int[] cool = new int[]{25,23,21};
		 int[] ep = new int[]{60,72,84};
		 String eff = "Unblockable, Undodgable";
		 String[] effects = new String[]{eff,eff,eff};
		 int max = 3;
		 int[] points = new int[]{30,35,40};
	
		 Skill acro = new Skill(name, des, dmg, sec, cool, null, ep, effects, max, points);
	
		return acro;
	}
	
	public static Skill imbalance() {
		 String name = "Imbalance";
		 String des ="Successful magic attacks have a 30% chance to add Imbalance to the target/s, increasing<br>" +
					"magic damage taken by 111% and decreasing attack by 111% for 8 seconds.";
		 int[] dmg = new int[]{3,5};
		 int max = 2;
		 int[] points = new int[]{30,30};
	
		 Skill acro = new Skill(name, des, dmg, null, null, null, null, max, points);
	
		return acro;
	}
	
	public static Skill barrier() {
		 String name = "Ice Barrier";
		 String des ="Draws a circle 2m in front of you, dealing Ice damage equal to 111% of Magic Attack to<br>" +
					"all enemies in a 2m radius after 1 second. Inflicts Sub-Zero, reducing the targets' speed<br>" +
					"by 222% for 3 seconds or freezing the enemy for 3 seconds if under the Frostbite effect.<br>" +
					"Adds 1 stack of Ice Magic when used.";
		 int[] dmg = new int[]{150,170,190,210,230};
		 int[] sec = new int[]{30,35,40,45,50};
		 int[] cool = new int[]{16,15,14,12,10};
		 int[] ep = new int[]{24,36,42,48,51};
		 String eff = "Unblockable, Undodgable";
		 String[] effects = new String[]{eff,eff,eff,eff,eff};
		 int max = 5;
		 int[] points = new int[]{10,15,20,25,30};
	
		 Skill acro = new Skill(name, des, dmg, sec, cool, null, ep, effects, max, points);
	
		return acro;
	}

}
